Micron Document
`:top
Das `!Java-Hamster-Modell`! gehört zu den `F33f`_`[Minisprachen`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Minisprache]`_`f. Ziel des Modells ist es, Programmieranfängern das Erlernen grundlegender `F33f`_`[Programmierkonzepte`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Programmierung]`_`f durch den Einsatz spielerischer Mittel zu erleichtern.

Das Modell orientiert sich an der `F33f`_`[Programmiersprache`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Programmiersprache]`_`f `F33f`_`[Java`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Java_(Programmiersprache)]`_`f, ist aber grundsätzlich sprachunabhängig. Mit einem minimalen Satz an Befehlen sollen `*Hamster-Programme`* geschrieben werden, die einen virtuellen Hamster durch eine Landschaft steuern und ihn Aufgaben lösen lassen. Grundlage des Modells ist der schrittweise Ablauf, der Programmierkonzepte aufeinander aufbauend einführt und diese durch zahlreiche Beispiele demonstriert.

Eine spezielle Entwicklungsumgebung, der sogenannte Hamster-Simulator, hilft bei der Entwicklung und visualisiert den Ablauf der selbstgeschriebenen Hamster-Programme. Er wurde bewusst an bekannte Entwicklungsumgebungen für Java angelehnt und steht kostenlos zur Verfügung.

>>Contents

• `F0af`_`[Imperative Programmierung`#imperative-programmierung]`_`f
• `F0af`_`[Befehlsübersicht`#befehls-bersicht]`_`f
• `F0af`_`[Objektorientierte Programmierung`#objektorientierte-programmierung]`_`f
• `F0af`_`[Parallele Programmierung`#parallele-programmierung]`_`f
• `F0af`_`[Siehe auch`#siehe-auch]`_`f
• `F0af`_`[Literatur`#literatur]`_`f
• `F0af`_`[Weblinks`#weblinks]`_`f

-─

>>Imperative Programmierung

Im ersten Teil des Modells werden alle wesentlichen Konzepte der `F33f`_`[imperativen Programmierung`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Imperative_Programmierung]`_`f schrittweise motiviert und eingeführt, insbesondere Anweisungen, Kontrollstrukturen, Prozeduren, Funktionen, Typen, Variablen, Ausdrücke, Parameter, Rekursion und der Programmentwurf.

Mit einigen Grundbefehlen wie `B100`F9d9linksUm()`f`b und `B100`F9d9nimm()`f`b und Abfragen wie `B100`F9d9vornFrei()`f`b, `B100`F9d9kornDa()`f`b oder `B100`F9d9maulLeer()`f`b steuert man den Hamster in einer vorgegebenen Landschaft. Der Anwender lernt, aus diesen Grundelementen Prozeduren zusammenzustellen, die komplexere Befehle erlauben.

>>>Befehlsübersicht

`t
| Befehle | Beschreibung | Typ |
|---|---|---|
| vor() | Der Hamster geht genau 1 Feld weiter. | void |
| linksUm() | Der Hamster dreht sich um 90° nach links. | void |
| nimm() | Der Hamster nimmt ein Korn auf. | void |
| gib() | Der Hamster legt ein Korn ab. | void |
`t

`t
| Testbefehl | Beschreibung | Typ |
|---|---|---|
| vornFrei() | Liefert TRUE, falls der Hamster nicht vor einer Wand steht. | boolean |
| kornDa() | Liefert TRUE, falls das Feld, auf dem der Hamster gerade steht, mindestens ein Korn enthält. | boolean |
| maulLeer() | Liefert TRUE, falls der Hamster kein Korn im Maul hat. | boolean |
`t

>>Objektorientierte Programmierung

Um das Konzept der `F33f`_`[objektorientierten Programmierung`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Objektorientierte_Programmierung]`_`f zu erklären, können nun mehrere Hamster erzeugt werden. Über `F33f`_`[Vererbung`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Vererbung_(Programmierung)]`_`f kann die normale Hamsterklasse erweitert werden.

Zum Schluss lernen die Anwender, wie sie den Hamstern das Schach- oder Reversispielen beibringen können. So soll gezeigt werden, wie die zuvor vorgestellten Konzepte auf komplexe Probleme angewandt werden können.

>>Parallele Programmierung

Während die Hamster in der `F33f`_`[objektorientierten Programmierung`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Objektorientierte_Programmierung]`_`f explizit durch den Programmierer gesteuert werden, bilden sie in der `F33f`_`[parallelen Programmierung`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Parallele_Programmierung]`_`f selbstständige Einheiten, die bei der Lösung von gestellten Aufgaben kooperieren und sich dabei koordinieren und synchronisieren müssen. Die Klasse Hamster, von der Hamster erzeugt werden, ist von der Klasse `F33f`_`[Thread`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Thread_(Informatik)]`_`f abgeleitet, so dass bei der parallelen Programmierung mit dem Java-Hamster-Modell alle Eigenschaften und Funktionen der Thread-Programmierung genutzt werden können.

>>Siehe auch

• `F33f`_`[Bildungsorientierte Programmiersprachen`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Bildungsorientierte_Programmiersprachen]`_`f

>>Literatur

• Dietrich Boles: Programmieren spielend gelernt mit dem Java-Hamster-Modell. 5. Auflage. Springer Vieweg, 2013, ISBN 978-3-8348-0640-6.
• Dietrich Boles, Cornelia Boles: Objektorientierte Programmierung spielend gelernt mit dem Java-Hamster-Modell. 3. Auflage. Springer Vieweg, 2014, ISBN 978-3-658-04802-0.
• Dietrich Boles: Parallele Programmierung spielend gelernt mit dem Java-Hamster-Modell. Programmierung mit Java-Threads. Vieweg+Teubner, 2008, ISBN 978-3-8351-0229-3.

>>Weblinks

• www.java-hamster-modell.de

`c`F0af`_`[↑ Back to top`#top]`_`f`a